package com.java;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class CollectionsAPI {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        
        // addAll：添加多个元素到集合中
        Collections.addAll(list, 1, 2, 3, 4, 5, 6, 7);
        System.out.println(list); // [1, 2, 3, 4, 5, 6, 7]
        
        // max & min：获取集合内的最大值或最小值
        System.out.println(Collections.max(list)); // 7
        System.out.println(Collections.min(list)); // 1
        
        // copy：复制原集合内所有元素到新集合
        List<Integer> newList = Arrays.asList(0, 0, 0, 0, 0, 0, 0, 0, 0);
        System.out.println(newList); // [0, 0, 0, 0, 0, 0, 0, 0, 0]
        Collections.copy(newList, list);
        System.out.println(newList); // [1, 2, 3, 4, 5, 6, 7, 0, 0]
        
        // fill：填充原集合所有元素，原集合被改变
        Collections.fill(newList, -1);
        System.out.println(newList); // [-1, -1, -1, -1, -1, -1, -1, -1, -1]
        
        // swap：交换集合中指定位置的元素
        Collections.swap(list, 0, 1);
        System.out.println(list); // [2, 1, 3, 4, 5, 6, 7]
        
        // shuffle：打乱集合中的元素顺序
        Collections.shuffle(list);
        System.out.println(list); // [6, 1, 2, 4, 7, 5, 3]
    }
}
